package com.ruoyi.littleRedBook.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.littleRedBook.domain.pojo.Coupon;
import com.ruoyi.littleRedBook.domain.pojo.ReceiveRecord;

import java.util.List;

/**
 * <p>
 * 优惠券表 服务类
 * </p>
 *
 * @author
 * @since
 */
public interface CouponService extends IService<Coupon> {
    /**
     * 查询未删除的优惠券列表
     * @return 查询未删除的优惠券列表
     */
    List<Coupon> listNotDeleted();

    /**
     * 查询已删除的优惠券列表
     * @return 已删除的优惠券列表
     */
    List<Coupon> listDeleted();


    /**
     * 用户领取优惠券
     * @param userId 用户ID
     * @param couponId 优惠券ID
     * @return 领取记录
     */
    ReceiveRecord receiveCoupon(Long userId, Long couponId);

    /**
     * 查询有效优惠券
     * @return 有效优惠券列表
     */
    List<Coupon> getValidCoupons();


    List<Coupon> getCouponsByUserId(Long userId);
}
